/*****************************************************************************
 *
 * Copyright © Sega Europe Ltd. 1995
 *
 * Contents:
 *	
 * This is a developer sample. While every effort has been made to check this 
 * material  carefully, Sega accepts no responsibility implied or otherwise 
 * for it's use.
 *
 *****************************************************************************
 *
 * $Log$
 *
 ****************************************************************************/

/*
 * Include files.
 */
#include	<stdio.h>
#include	<stdlib.h>

#define		_SPR2_
#include	<sega_xpt.h>
#include	<sega_int.h>
#include	<sega_spr.h>
#include	<sega_scl.h>
#include	<sega_per.h> 
#include	<sega_gfs.h>

#include	<machine.h>
#include	"sega_scl.h"
#include	"../../v_blank/v_blank.h"

#include	"palette.h"
#include	"fade.h"
#include	"vdp2.h"

/*
 * #defines and macros.
 */
#define	VDP2_FONT_8x8_MONO_MIN_CHAR	32
#define	VDP2_FONT_8x8_MONO_MAX_CHAR	127
#define	VDP2_FONT_8x8_MONO_NUM_CHAR	(VDP2_FONT_8x8_MONO_MAX_CHAR - VDP2_FONT_8x8_MONO_MIN_CHAR + 1)

#define	VDP2_FONT_8x8_MONO_PIX_WID	8
#define	VDP2_FONT_8x8_MONO_PIX_HEI	8
#define	VDP2_FONT_8x8_MONO_PIX_SIZ	(VDP2_FONT_8x8_MONO_PIX_WID * VDP2_FONT_8x8_MONO_PIX_HEI)

/* MONO Font control */
#define	DOTTR	0
#define	DOTWT	COLOUR_BRIGHT_WHITE

/*
 * User type and enumerated type definitions.
 */


/*
 * Structure definitions.
 */
typedef struct
{
	Uint32	min_char_number;
	Uint32	max_char_number;

	Uint32	font_pixel_width;
	Uint32	font_pixel_height;
	Uint8	*font_base_address;

} VDP2_FONT_CONTROL_STRUCT;

typedef struct
{
	Uint16 current_font;
	Sint16 current_print_x_coord;
	Sint16 current_print_y_coord;
	Uint32 pel_base;

} VDP2_PRINT_SCREEN_STRUCT;

/*
 * Function prototypes.
 */


/*
 * Global/Static variables.
 */

/* Print screen control */

static VDP2_PRINT_SCREEN_STRUCT vdp2_print_screen_control[VDP2_PRINT_MAX+1] =
{
	{
		VDP2_FONT_8x8_MONO, 0, 0,NBG0_VDP2_VRAM_BASE_ADDR
	},
	{
		VDP2_FONT_8x8_MONO, 0, 0,NBG1_VDP2_VRAM_BASE_ADDR
	}
};

static	Uint16 current_print_screen = VDP2_PRINT_NBG0;

/* Font control */

static Uint8 vdp2_font_8x8_mono[VDP2_FONT_8x8_MONO_NUM_CHAR][VDP2_FONT_8x8_MONO_PIX_SIZ] =
{
	/* ASCII character 32. */
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTTR, DOTWT, DOTTR, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTTR, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTTR, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTTR, DOTWT, DOTTR, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	/* 48 */
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	/* ASCII character 64. */
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	/* 80. */
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR
	},
	/* 96. */
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	/* 112. */
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTWT, DOTWT, DOTTR, DOTWT, DOTTR, DOTWT, DOTWT, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTWT, DOTWT, DOTWT, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	},
	{
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR,
		DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR, DOTTR
	}
};

static 	VDP2_FONT_CONTROL_STRUCT font_list[VDP2_FONT_MAX+1] = 
{
	{
		VDP2_FONT_8x8_MONO_MIN_CHAR,
		VDP2_FONT_8x8_MONO_MAX_CHAR,
		VDP2_FONT_8x8_MONO_PIX_WID,
		VDP2_FONT_8x8_MONO_PIX_HEI,
		(Uint8 *)&vdp2_font_8x8_mono[0][0]
	}
};

/*****************************************************************************
 *
 * static void VDP2_PrintChar(Uint16 char_number)
 *
 * Parameters:
 *
 * Returns:
 *
 * Globals and side effects:
 *
 * Runtime requirements:
 *
 * Critical cross references:
 *
 * Notes:
 *
 *
 ****************************************************************************/

static void VDP2_PrintChar(Uint16 char_number)
{
	/* Variables. */

	VDP2_FONT_CONTROL_STRUCT	*font_list_ptr = 
		(VDP2_FONT_CONTROL_STRUCT *)&font_list[vdp2_print_screen_control[current_print_screen].current_font].min_char_number;

	Uint8		*font_data	= font_list_ptr->font_base_address;
	Uint32	pel_base  	= vdp2_print_screen_control[current_print_screen].pel_base;
	Sint16	cp_x		= vdp2_print_screen_control[current_print_screen].current_print_x_coord;
	Sint16	cp_y		= vdp2_print_screen_control[current_print_screen].current_print_y_coord;

	Uint32	pel_offset;
	Uint32	loop_xpos;
	Uint32	loop_ypos;

	/* Code. */

	/* Perform clipping */
   if ((cp_x >= BITMAP_PIXEL_WIDTH) ||
   	((cp_x + font_list_ptr->font_pixel_width) <= 0) ||
		(cp_y >= BITMAP_PIXEL_HEIGHT) ||
   	((cp_y + font_list_ptr->font_pixel_height) <= 0))
   {
   	/* Trivial reject on x/y print position */
   	return;
   }

	font_data += ((char_number - font_list_ptr->min_char_number) * font_list_ptr->font_pixel_width *
		font_list_ptr->font_pixel_height);

	if ((cp_x >= 0) &&
   	((cp_x + font_list_ptr->font_pixel_width) <= BITMAP_PIXEL_WIDTH) &&
		(cp_y >= 0) &&
   	((cp_y + font_list_ptr->font_pixel_height) <= BITMAP_PIXEL_HEIGHT))
   {
   	/* Trivial accept on x/y print position */

      loop_ypos = 0;
      while (loop_ypos < font_list_ptr->font_pixel_height)
      {
			pel_offset = (loop_ypos+cp_y) * BITMAP_PIXEL_WIDTH;

         loop_xpos = 0;
         while (loop_xpos < font_list_ptr->font_pixel_width)
         {
            *((Uint8 *) (pel_base + pel_offset + loop_xpos + cp_x)) =
            	font_data[(loop_ypos * font_list_ptr->font_pixel_width)+loop_xpos];

				loop_xpos += 1;
         }

         loop_ypos += 1;
      }

   	return;
   }

   /* Treat any remaining cases as straddling clipping borders */
	loop_ypos = 0;
	while (loop_ypos < font_list_ptr->font_pixel_height)
	{
		if (((loop_ypos+cp_y) >= 0) && ((loop_ypos+cp_y) < BITMAP_PIXEL_HEIGHT))
		{
			pel_offset = (loop_ypos+cp_y) * BITMAP_PIXEL_WIDTH;

			loop_xpos = 0;
			while (loop_xpos < font_list_ptr->font_pixel_width)
			{
				if (((loop_xpos+cp_x) >= 0) && ((loop_xpos+cp_x) < BITMAP_PIXEL_WIDTH))
				{
					*((Uint8 *) (pel_base + pel_offset + loop_xpos + cp_x)) =
						font_data[(loop_ypos * font_list_ptr->font_pixel_width)+loop_xpos];
				}

				loop_xpos += 1;
			}
		}

		loop_ypos += 1;
	}
}

void VDP2_PrintHomeCursor(void)
{
	vdp2_print_screen_control[current_print_screen].current_print_x_coord = 0;
	vdp2_print_screen_control[current_print_screen].current_print_y_coord = 0;
}

void VDP2_PrintString(char *ascii_string)
{
	Uint16						loop;
	VDP2_FONT_CONTROL_STRUCT	*font_list_ptr = 
		(VDP2_FONT_CONTROL_STRUCT *)&font_list[vdp2_print_screen_control[current_print_screen].current_font].min_char_number;

	loop = 0;

	while (ascii_string[loop] != 0)
	{
		if (((Uint16)ascii_string[loop] >= font_list_ptr->min_char_number) && 
			((Uint16)ascii_string[loop] <= font_list_ptr->max_char_number))
		{
			VDP2_PrintChar((Uint16)ascii_string[loop]);

			vdp2_print_screen_control[current_print_screen].current_print_x_coord += 
				font_list_ptr->font_pixel_width;
		}
		
		loop++;
	}
}

void VDP2_PrintStringAt(Sint16 xpos,Sint16 ypos,char *ascii_string)
{
	vdp2_print_screen_control[current_print_screen].current_print_x_coord = xpos;
	vdp2_print_screen_control[current_print_screen].current_print_y_coord = ypos;

	VDP2_PrintString(ascii_string);
}

void VDP2_SelectCurrentFont(Uint16 select_font)
{
	if (select_font <= VDP2_FONT_MAX)
	{
		vdp2_print_screen_control[current_print_screen].current_font = select_font;
	}
}

void VDP2_SelectCurrentPrintScreen(Uint16 select_screen)
{
	if (select_screen <= VDP2_PRINT_MAX)
	{
		current_print_screen = select_screen;
	}
}


/*****************************************************************************
 *
 * void VDP2_InitVRAM(void)
 *
 * Parameters:
 *
 * Returns:
 *
 * Globals and side effects:
 *
 * Runtime requirements:
 *
 * Critical cross references:
 *
 * Notes:
 *
 *
 ****************************************************************************/

void VDP2_InitVRAM(void)
{
	/* Variables. */

	Uint32	loop;
	Uint32	maxloop;

	/* Code. */

	/* Fascist clear of all VDP2 VRAM */

	loop = 0;
	maxloop = 512*1024;

	while (loop < maxloop)
	{
		*((Uint32 *) (SCL_VDP2_VRAM_A0 + loop)) = 0;

		loop += 4;
	}

	/* Now set layer NBG1 to be a nice blue colour */

	loop = 0;
	maxloop = BITMAP_PIXEL_WIDTH * BITMAP_PIXEL_HEIGHT;

	while (loop < maxloop)
	{
		*((Uint8 *) (NBG1_VDP2_VRAM_BASE_ADDR + loop)) = COLOUR_LOW_BLUE;

		loop += 1;
	}
}
